package dbLayer;

import java.util.LinkedList;

import modelLayer.Product;

public interface IFDBProducts {
	/**
	 * Inserts a product into the database
	 * @param carBrand
	 * @param carModel
	 * @param engineType
	 * @param partName
	 * @param price
	 * @param quantity
	 * @return
	 * @throws Exception
	 */
	//public int insertProduct(String carBrand, String carModel, String engineType, String partName, double price, int quantity) throws Exception;
	public int insertProduct(Product product) throws Exception;
	/**
	 * Adds more products to stock for the current product
	 * @param product The product we want to update in stock
	 * @param quantity The number that reprezents how many products to add
	 * @return
	 */
	public int addProductsToStock(Product product, Product updateProduct);
	//public Product searchProduct(String carBrand, String carModel, String engineType, String partName) throws Exception;
	public Product searchProduct(Product product);
	public LinkedList<Product> getAllProducts() throws Exception;
	public LinkedList<Product> getAllProducts(Product product) throws Exception;
	public int updateProduct(Product product, Product updateProduct) throws Exception;
	public int deleteProduct(Product product) throws Exception;
}